<?php
/**
 * 提供一个用户提交自己代码的平台
 *
 * @todo
 * @author Judas <judasnow@gmail.com>
 * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
 */
session_start();
require_once('path.php');
require_once( SOJ_ROOT.'/include/function/lib.php');

$tpl = new my_smarty();

//未登录用户不可进行评测
if( !empty($_SESSION['username']) ){

	$tpl->assign( 'username' , $_SESSION['username'] );

}else{

	$_SESSION['fail_message'] = '未登录用户不可进行评测' ;
//	header( 'Location: ../message_handle/fail_handle.php' );
//	exit ;
}

@$request = $_GET; 
//@todo 此处有注入漏洞

if ( !empty($request['problem_no']) ) {
	
	$tpl->assign('problem_no' , $request['problem_no'] ) ;

}else{
	
	//默认题号为1000
	$tpl->assign('problem_no' , '1001' ) ;
}

try{

$db = db_connect();

//由题号 得到试题的其他信息
//这些信息都将插入code表中
//以方便查询
$problem_no = $request['problem_no'] ;
$problem_process = new problem_process( $db ) ;
$problem_process->load( 'problem_no' , $problem_no );

//@todo get方法需要改进 get_time_limit()
//不能由用户确定需要读什么

$time_limit = $problem_process->get( 'time_limit' ) ;
$mem_limit = $problem_process->get( 'mem_limit' ) ;

$tpl->assign( 'time_limit' , $time_limit );
$tpl->assign( 'mem_limit' , $mem_limit );

$tpl->display('code_submit.tpl');

}catch(Exception $e){

	echo $e->getMessage();
}

